package com.hc.sp04.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import sp01.pojo.Item;
import sp01.util.JsonResult;

import java.util.List;

/**
 * 谁用到远程调用，就在谁的依赖里配置远程调用，启动类上也要装配feign
 *
 * 远程调用有3项配置
 * 1.调用哪个服务
 * 2.调用服务的哪个路径
 * 3.向这个路径中提交哪些参数
 *
 *
 * @author Z
 * @DATE 2021/8/31 14:14
 * @e-mail ...@qq.com
 */
@FeignClient("item-service")     //指定远程调用的服务名   就是注册中心里的服务id(服务名)
public interface ItemClient {
//    远程调用商品获取商品列表
    @GetMapping("/{orderId}")  //调用item-service的路径 传入参数
    JsonResult<List<Item>> getItems(@PathVariable String orderId);

//    远程调用商品减少商品库存
    @PostMapping("/decreaseNumber")
    void decreaseNumber(List<Item> items);

}
